const fetch = require('../../utils/fetch')


Page({
  /**
   * 页面的初始数据
   */
  data: {
    category: null,
    shops: [],//九宫格进来对应的列表数据
    pageIndex: 0,//页码
    pageSize: 20,//每页的数据 
    totalCount: 0,
    hasMore: true//标记
  },

  loadMore(){
    let { pageIndex, pageSize, searchText  } = this.data  //解构赋值
    const params = { _page: ++pageIndex, _limit: pageSize }
    if (searchText) params.q = searchText

    console.log(params)
    return fetch(`/categories/${this.data.category.id}/shops`, params)
      .then(res=>{
        console.log(res)
        const totalCount = parseInt(res.header['x-total-count']) 
        const hasMore = this.data.pageIndex * this.data.pageSize < totalCount
        const shops = this.data.shops.concat(res.data)

        this.setData({
          shops,
          totalCount,
          pageIndex,
          hasMore
        })

      })

  },
  
  /**
   * 生命周期函数--监听页面加载   
   * 接受index页面传过来的 cat
   */
  onLoad(options) {
    console.log(options.cat)
    fetch(`/categories/${options.cat}`)
      .then(res =>{
        console.log(res.data)
        this.setData({
          category: res.data
        })
        wx.setNavigationBarTitle({
          title: res.data.name,
        })

        this.loadMore()
      })

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    //页面顶部下拉动作 不是加载后续的数据 应该刚进来加载的数据
    this.setData({ shops: [], pageIndex: 0, hasMore: true })
    this.loadMore().then(() => wx.stopPullDownRefresh())
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // TODO：节流
    this.loadMore()
  },

  searchHandle() {
    console.log(this.data.searchText)
    this.setData({ shops: [], pageIndex: 0, hasMore: true })
    this.loadMore()
  },

  showSearchHandle() {
    this.setData({ searchShowed: true })
  },
  hideSearchHandle() {
    this.setData({ searchText: '', searchShowed: false })
  },
  clearSearchHandle() {
    this.setData({ searchText: '' })
  },
  searchChangeHandle(e) {
    console.log(e)
    this.setData({ searchText: e.detail.value })
  }
})
